嵌入式面试问题之uboot启动流程分析

您所在的位置:网站首页 uboot启动流程 如何 嵌入式面试问题之uboot启动流程分析

嵌入式面试问题之uboot启动流程分析

#嵌入式面试问题之uboot启动流程分析| 来源: 网络整理| 查看: 265

首先整个uboot启动,可以分为两个部分,一部分是由汇编语言编写的arch级初始化,另一部分为c语言编写的板级初始化

arch初始化 从_start函数入口开始,分别进行: 1、关闭中断,设置SVC模式(svc又称为管理模式,在启动过程中,中断环境并没有完全准备好,也就是中断向量表和中断处理函数并没有完成设置,一旦有中断产生,可能会导致预想不到的问题,或者是程序跑飞。因此,在准备好中断环境之前,需要关闭所有中断。) 2、禁用MMU、TLB 3、初始化一些关键的寄存器,时钟寄存器,看门狗等

板级初始化 从_main()函数开始执行 : 1、堆栈环境的设置 2、代码重定向之前的板级初始化,如定时器,I2C/SPI,串口等 3、进行代码重定向 4、然后就是代码重定向后的板级初始化,emmc , 网络,nandflsh,中断的初始化 5、进入命令行等待状态,等待终端输入命令以及对命令进行处理



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3